package com.nativetalk.service.three.book.search;

import com.nativetalk.base.RetInfo;
import com.nativetalk.bean.book.TdNtBookCourse;
import com.nativetalk.bean.member.TdNtMember;

import java.util.Map;

/**
 * Created by lizhun on 16/8/2.
 */
public interface ThreeBookSearchService {
    /**
     * @Purpose  查找课程预约
     * @version  3.1
     * @author   lizhun
     * @param    tdNtBookCourse
     * @return   TdNtBookCourse
     */
    public TdNtBookCourse findBook(TdNtBookCourse tdNtBookCourse);
    /**
     * @Purpose  查找用户课程表列表
     * @version  3.1
     * @author   lizhun
     * @param    map
     * @return   RetInfo
     */
    public RetInfo findBookByMembId(Map<String, Object> map);

    //可以预约的课程，即将过期的排在最前面
    public RetInfo membBookableCourse(Integer memb_id);

    /**
     * @Purpose  查找教师课程表列表
     * @version  3.1
     * @author   lizhun
     * @param    map
     * @return   RetInfo
     */
    public RetInfo findBookByTeaId(Map<String, Object> map);
    /**
     * @Purpose  查找所有可接单课程表
     * @version  3.1
     * @author   lizhun
     * @param    map
     * @return   RetInfo
     */
    public RetInfo findBookByState(Map<String, Object> map);

    /**
     * @Purpose  查找用户设计课程表可上课时间
     * @version  3.1
     * @author   lizhun
     * @param    book_cou_id
     * @return   RetInfo
     */
    public RetInfo findBookWeek(int book_cou_id);
    /**
     * @Purpose  查找接单后上课记录
     * @version  3.1
     * @author   lizhun
     * @param    book_cou_id
     * @return   RetInfo
     */
    public RetInfo findBookWeekHis(int book_cou_id);
    /**
     * @Purpose  查找用户未接单课程表列表
     * @version  3.1
     * @author   lizhun
     * @param    map
     * @return   RetInfo
     */
    public RetInfo findBookByUnfinishMembId(Map<String, Object> map);

    public void index(TdNtMember tdNtMember, Map<String, Object> map);
}
